﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR40Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR40Response {
        
        private int @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR40Response.IIsikType> @__isik = new System.Collections.Generic.List<RR40Response.IIsikType>();
        
        private System.Collections.Generic.List<RR40Response.ISuheType> @__suhe = new System.Collections.Generic.List<RR40Response.ISuheType>();
        
        public RR40Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR40Response(int @veakood, string @veatekst, System.Collections.Generic.List<RR40Response.IIsikType> @isik, System.Collections.Generic.List<RR40Response.ISuheType> @suhe) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isik = @isik;
            this.@__suhe = @suhe;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR40Response(IRR40Response @rR40Response) {
            this.@__veakood = @rR40Response.Veakood;
            this.@__veatekst = @rR40Response.Veatekst;
            this.@__isik = @rR40Response.Isik;
            this.@__suhe = @rR40Response.Suhe;
        }
        
        public virtual int Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR40Response.IIsikType> Isik {
            get {
                return this.@__isik;
            }
            set {
                this.@__isik = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR40Response.ISuheType> Suhe {
            get {
                return this.@__suhe;
            }
            set {
                this.@__suhe = value;
            }
        }
        
        public partial class IsikType : IIsikType {
            
            private string @__isikPerenimi;
            
            private string @__isikEesnimi;
            
            private string @__isikSugu;
            
            private string @__isikSynniaeg;
            
            private string @__isikStaatus;
            
            private string @__isikEestiAadress;
            
            private string @__isikDokumendiTyyp;
            
            private string @__isikDokumendiSeeria;
            
            private string @__isikDokumendiNumber;
            
            private string @__isikDokumendiValjastKuup;
            
            private string @__isikDokumendiKehtivuseAlgus;
            
            private string @__isikDokumendiKehtivuseLopp;
            
            private string @__isikDokumendiStaatus;
            
            private string @__isikRahvus;
            
            private string @__isikEmakeel;
            
            private string @__isikHaridus;
            
            private string @__isikTegevusala;
            
            public IsikType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikType(
                        string @isikPerenimi, 
                        string @isikEesnimi, 
                        string @isikSugu, 
                        string @isikSynniaeg, 
                        string @isikStaatus, 
                        string @isikEestiAadress, 
                        string @isikDokumendiTyyp, 
                        string @isikDokumendiSeeria, 
                        string @isikDokumendiNumber, 
                        string @isikDokumendiValjastKuup, 
                        string @isikDokumendiKehtivuseAlgus, 
                        string @isikDokumendiKehtivuseLopp, 
                        string @isikDokumendiStaatus, 
                        string @isikRahvus, 
                        string @isikEmakeel, 
                        string @isikHaridus, 
                        string @isikTegevusala) {
                this.@__isikPerenimi = @isikPerenimi;
                this.@__isikEesnimi = @isikEesnimi;
                this.@__isikSugu = @isikSugu;
                this.@__isikSynniaeg = @isikSynniaeg;
                this.@__isikStaatus = @isikStaatus;
                this.@__isikEestiAadress = @isikEestiAadress;
                this.@__isikDokumendiTyyp = @isikDokumendiTyyp;
                this.@__isikDokumendiSeeria = @isikDokumendiSeeria;
                this.@__isikDokumendiNumber = @isikDokumendiNumber;
                this.@__isikDokumendiValjastKuup = @isikDokumendiValjastKuup;
                this.@__isikDokumendiKehtivuseAlgus = @isikDokumendiKehtivuseAlgus;
                this.@__isikDokumendiKehtivuseLopp = @isikDokumendiKehtivuseLopp;
                this.@__isikDokumendiStaatus = @isikDokumendiStaatus;
                this.@__isikRahvus = @isikRahvus;
                this.@__isikEmakeel = @isikEmakeel;
                this.@__isikHaridus = @isikHaridus;
                this.@__isikTegevusala = @isikTegevusala;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikType(IIsikType @isikType) {
                this.@__isikPerenimi = @isikType.IsikPerenimi;
                this.@__isikEesnimi = @isikType.IsikEesnimi;
                this.@__isikSugu = @isikType.IsikSugu;
                this.@__isikSynniaeg = @isikType.IsikSynniaeg;
                this.@__isikStaatus = @isikType.IsikStaatus;
                this.@__isikEestiAadress = @isikType.IsikEestiAadress;
                this.@__isikDokumendiTyyp = @isikType.IsikDokumendiTyyp;
                this.@__isikDokumendiSeeria = @isikType.IsikDokumendiSeeria;
                this.@__isikDokumendiNumber = @isikType.IsikDokumendiNumber;
                this.@__isikDokumendiValjastKuup = @isikType.IsikDokumendiValjastKuup;
                this.@__isikDokumendiKehtivuseAlgus = @isikType.IsikDokumendiKehtivuseAlgus;
                this.@__isikDokumendiKehtivuseLopp = @isikType.IsikDokumendiKehtivuseLopp;
                this.@__isikDokumendiStaatus = @isikType.IsikDokumendiStaatus;
                this.@__isikRahvus = @isikType.IsikRahvus;
                this.@__isikEmakeel = @isikType.IsikEmakeel;
                this.@__isikHaridus = @isikType.IsikHaridus;
                this.@__isikTegevusala = @isikType.IsikTegevusala;
            }
            
            public virtual string IsikPerenimi {
                get {
                    return this.@__isikPerenimi;
                }
                set {
                    this.@__isikPerenimi = value;
                }
            }
            
            public virtual string IsikEesnimi {
                get {
                    return this.@__isikEesnimi;
                }
                set {
                    this.@__isikEesnimi = value;
                }
            }
            
            public virtual string IsikSugu {
                get {
                    return this.@__isikSugu;
                }
                set {
                    this.@__isikSugu = value;
                }
            }
            
            public virtual string IsikSynniaeg {
                get {
                    return this.@__isikSynniaeg;
                }
                set {
                    this.@__isikSynniaeg = value;
                }
            }
            
            public virtual string IsikStaatus {
                get {
                    return this.@__isikStaatus;
                }
                set {
                    this.@__isikStaatus = value;
                }
            }
            
            public virtual string IsikEestiAadress {
                get {
                    return this.@__isikEestiAadress;
                }
                set {
                    this.@__isikEestiAadress = value;
                }
            }
            
            public virtual string IsikDokumendiTyyp {
                get {
                    return this.@__isikDokumendiTyyp;
                }
                set {
                    this.@__isikDokumendiTyyp = value;
                }
            }
            
            public virtual string IsikDokumendiSeeria {
                get {
                    return this.@__isikDokumendiSeeria;
                }
                set {
                    this.@__isikDokumendiSeeria = value;
                }
            }
            
            public virtual string IsikDokumendiNumber {
                get {
                    return this.@__isikDokumendiNumber;
                }
                set {
                    this.@__isikDokumendiNumber = value;
                }
            }
            
            public virtual string IsikDokumendiValjastKuup {
                get {
                    return this.@__isikDokumendiValjastKuup;
                }
                set {
                    this.@__isikDokumendiValjastKuup = value;
                }
            }
            
            public virtual string IsikDokumendiKehtivuseAlgus {
                get {
                    return this.@__isikDokumendiKehtivuseAlgus;
                }
                set {
                    this.@__isikDokumendiKehtivuseAlgus = value;
                }
            }
            
            public virtual string IsikDokumendiKehtivuseLopp {
                get {
                    return this.@__isikDokumendiKehtivuseLopp;
                }
                set {
                    this.@__isikDokumendiKehtivuseLopp = value;
                }
            }
            
            public virtual string IsikDokumendiStaatus {
                get {
                    return this.@__isikDokumendiStaatus;
                }
                set {
                    this.@__isikDokumendiStaatus = value;
                }
            }
            
            public virtual string IsikRahvus {
                get {
                    return this.@__isikRahvus;
                }
                set {
                    this.@__isikRahvus = value;
                }
            }
            
            public virtual string IsikEmakeel {
                get {
                    return this.@__isikEmakeel;
                }
                set {
                    this.@__isikEmakeel = value;
                }
            }
            
            public virtual string IsikHaridus {
                get {
                    return this.@__isikHaridus;
                }
                set {
                    this.@__isikHaridus = value;
                }
            }
            
            public virtual string IsikTegevusala {
                get {
                    return this.@__isikTegevusala;
                }
                set {
                    this.@__isikTegevusala = value;
                }
            }
        }
        
        public interface IIsikType {
            
            string IsikPerenimi {
                get;
                set;
            }
            
            string IsikEesnimi {
                get;
                set;
            }
            
            string IsikSugu {
                get;
                set;
            }
            
            string IsikSynniaeg {
                get;
                set;
            }
            
            string IsikStaatus {
                get;
                set;
            }
            
            string IsikEestiAadress {
                get;
                set;
            }
            
            string IsikDokumendiTyyp {
                get;
                set;
            }
            
            string IsikDokumendiSeeria {
                get;
                set;
            }
            
            string IsikDokumendiNumber {
                get;
                set;
            }
            
            string IsikDokumendiValjastKuup {
                get;
                set;
            }
            
            string IsikDokumendiKehtivuseAlgus {
                get;
                set;
            }
            
            string IsikDokumendiKehtivuseLopp {
                get;
                set;
            }
            
            string IsikDokumendiStaatus {
                get;
                set;
            }
            
            string IsikRahvus {
                get;
                set;
            }
            
            string IsikEmakeel {
                get;
                set;
            }
            
            string IsikHaridus {
                get;
                set;
            }
            
            string IsikTegevusala {
                get;
                set;
            }
        }
        
        public partial class SuheType : ISuheType {
            
            private string @__suhessuhtetyyp;
            
            private string @__suhesIsikukood;
            
            private string @__suhesPerenimi;
            
            private string @__suhesEesnimi;
            
            private string @__suhesIsanimi;
            
            private string @__suhesEestiAadress;
            
            private string @__suhesStaatus;
            
            public SuheType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SuheType(string @suhessuhtetyyp, string @suhesIsikukood, string @suhesPerenimi, string @suhesEesnimi, string @suhesIsanimi, string @suhesEestiAadress, string @suhesStaatus) {
                this.@__suhessuhtetyyp = @suhessuhtetyyp;
                this.@__suhesIsikukood = @suhesIsikukood;
                this.@__suhesPerenimi = @suhesPerenimi;
                this.@__suhesEesnimi = @suhesEesnimi;
                this.@__suhesIsanimi = @suhesIsanimi;
                this.@__suhesEestiAadress = @suhesEestiAadress;
                this.@__suhesStaatus = @suhesStaatus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SuheType(ISuheType @suheType) {
                this.@__suhessuhtetyyp = @suheType.Suhessuhtetyyp;
                this.@__suhesIsikukood = @suheType.SuhesIsikukood;
                this.@__suhesPerenimi = @suheType.SuhesPerenimi;
                this.@__suhesEesnimi = @suheType.SuhesEesnimi;
                this.@__suhesIsanimi = @suheType.SuhesIsanimi;
                this.@__suhesEestiAadress = @suheType.SuhesEestiAadress;
                this.@__suhesStaatus = @suheType.SuhesStaatus;
            }
            
            public virtual string Suhessuhtetyyp {
                get {
                    return this.@__suhessuhtetyyp;
                }
                set {
                    this.@__suhessuhtetyyp = value;
                }
            }
            
            public virtual string SuhesIsikukood {
                get {
                    return this.@__suhesIsikukood;
                }
                set {
                    this.@__suhesIsikukood = value;
                }
            }
            
            public virtual string SuhesPerenimi {
                get {
                    return this.@__suhesPerenimi;
                }
                set {
                    this.@__suhesPerenimi = value;
                }
            }
            
            public virtual string SuhesEesnimi {
                get {
                    return this.@__suhesEesnimi;
                }
                set {
                    this.@__suhesEesnimi = value;
                }
            }
            
            public virtual string SuhesIsanimi {
                get {
                    return this.@__suhesIsanimi;
                }
                set {
                    this.@__suhesIsanimi = value;
                }
            }
            
            public virtual string SuhesEestiAadress {
                get {
                    return this.@__suhesEestiAadress;
                }
                set {
                    this.@__suhesEestiAadress = value;
                }
            }
            
            public virtual string SuhesStaatus {
                get {
                    return this.@__suhesStaatus;
                }
                set {
                    this.@__suhesStaatus = value;
                }
            }
        }
        
        public interface ISuheType {
            
            string Suhessuhtetyyp {
                get;
                set;
            }
            
            string SuhesIsikukood {
                get;
                set;
            }
            
            string SuhesPerenimi {
                get;
                set;
            }
            
            string SuhesEesnimi {
                get;
                set;
            }
            
            string SuhesIsanimi {
                get;
                set;
            }
            
            string SuhesEestiAadress {
                get;
                set;
            }
            
            string SuhesStaatus {
                get;
                set;
            }
        }
    }
}
